package educar.models;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;

import educar.db.DbConnection;
import educar.db.JPA;


public class InscripcionMateria {
	private static JPA jpa = new JPA();
	private Integer codigo;
	private String dni;
	
	public InscripcionMateria (Integer codigo, String dni){
		this.setCodigo(codigo);
		this.setDni(dni);
	}
	
	
	public boolean save() {
		try {
			InscripcionMateria.getInscripcionMateriaByInscripcionMateria(Integer.toString(codigo), dni);
			return false;
		} catch (datoNotFound e1) {
			String[] columns = {"codigo","dni"};

			PreparedStatement stm = jpa.newRecord("educar_dev.inscripcion_materia", columns);

			try {
				stm.setString(1, Integer.toString(codigo));
				stm.setString(2, dni);
			} catch (SQLException e) {
				e.printStackTrace();
				return false;
			}

			jpa.create(stm);
			return true;
		}
	}
	
	public static InscripcionMateria getInscripcionMateriaByInscripcionMateria(String codigo,String dni) throws datoNotFound {
		ResultSet rs = null;
		ResultSet rs2 = null;
		InscripcionMateria p = null;

		rs = jpa.getByField("inscripcion_materia", "codigo", codigo);
		rs2=jpa.getByField("inscripcion_materia", "dni", dni);
		try {
			if (rs.next() && rs2.next()) {
				p = new InscripcionMateria(Integer.parseInt(rs.getString(1)), rs2.getString(2));
			} else {
				throw new datoNotFound();
			}
		} catch (SQLException e) {
			e.printStackTrace();
		}

		return p;
	}

	public void destroy(String codigo,String dni) {
		String query= "DELETE from " + DbConnection.bd + ".inscripcion_materia"; 
    	query += " Where codigo= '" + codigo + "' and dni= '"+dni+"'";
		jpa.runUpdate(query);
	}

	
	public void setCodigo(Integer codigo){
		this.codigo=codigo;
	}
	
	public Integer getCodigo(){
		return this.codigo;
	}
	
	public void setDni(String dni){
		this.dni=dni;
	}
	
	public String getDni(){
		return this.dni;
	}
}
